package com.admin.client.domain;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * 城池信息(CoreCity)表实体类
 *
 * @author cxy
 * @since 2025-01-09 10:28:27
 */
@ApiModel("城池信息")
@ColumnWidth(25)//列宽
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
public class CoreCity extends Model<CoreCity> {// swagger2,mybatis-plus
    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 生成实体字段
    @TableId(type = IdType.INPUT)
    @ApiModelProperty("城池id")
    @ExcelProperty({"城池id","id"})
    private Integer id;
    
    @ApiModelProperty("城池名称")
    @ExcelProperty({"城池名称","name"})
    private String name;
    
    @ApiModelProperty("地图类型 1大型城池，2中型城池，3小型城池")
    @ExcelProperty({"地图类型 1大型城池，2中型城池，3小型城池","type"})
    private Integer type;
    
    @ApiModelProperty("地块数")
    @ExcelProperty({"地块数","landNum"})
    private Integer landNum;
    
    @ApiModelProperty("预备兵基础产量（分）")
    @ExcelProperty({"预备兵基础产量（分）","readyArmyRate"})
    private Integer readyArmyRate;
    
    @ApiModelProperty("铜币基础产量（分）")
    @ExcelProperty({"铜币基础产量（分）","copperRate"})
    private Integer copperRate;
    
    @ApiModelProperty("粮食基础产量（分）")
    @ExcelProperty({"粮食基础产量（分）","grainRate"})
    private Integer grainRate;
    
    @ApiModelProperty("是否出生城池")
    @ExcelProperty({"是否出生城池","isBirthCity"})
    private Integer isBirthCity;
    
    @ApiModelProperty("城防兵力")
    @ExcelProperty({"城防兵力","defArmy"})
    private Integer defArmy;
    
    @ApiModelProperty("地图id")
    @ExcelProperty({"地图id","mapId"})
    private Integer mapId;
    
    @ApiModelProperty("npc守军编号")
    @ExcelProperty({"npc守军编号","npcArmy"})
    private Long npcArmy;
    
    @ApiModelProperty("$column.comment")
    @ExcelProperty({"$column.comment","firstAward"})
    private String firstAward;
    
    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 序列化版本号
    @TableField(exist = false)
    private static final long serialVersionUID = -68045824744682036L;
    /////////////////////////////////////////////////////////////////////////////////////////////////////////// 获取主键值
    @Override
    public Serializable pkVal() {
        return this.id;
    }
    ///////////////////////////////////////////////////////////////////////////////////////////////////////  基础数据初始化
    public CoreCity init() {
        return this;
    }
    /////////////////////////////////////////////////////////////////////////////////////////////////////////// 领域业务
}

